package it.controllocredito.backend.persistence;

import java.util.ArrayList;
import java.util.Iterator;

import android.content.Context;
import it.controllocredito.backend.persistence.bean.RegistroChiamate;
import it.controllocredito.backend.persistence.tables.RegistroChiamateTable;
import it.controllocredito.backend.phone.calllog.ManagerCallLogHandler;

 
public class CalllogPersistenceManager 
{
	private Context context;
	private DatabaseHandler databaseHandler;

	
	public CalllogPersistenceManager(Context context) 
	{
		this.context = context;
		
		databaseHandler = new DatabaseHandler(context);
	}

	public CalllogPersistenceManager(Context context,DatabaseHandler databaseHandler)
	{
		this.context = context;
		
		this.databaseHandler = databaseHandler;		
	}



	public void cleanRegistro()
	{
		databaseHandler.deleteAllRecords(RegistroChiamateTable.getName());
	}
	
	public void aggiornamentoRegistro() 
	{
		updateRegistro(null);
	}

	public void aggiornamentoRegistro(String whereCondition) 
	{
		updateRegistro(whereCondition);
	}

	private void updateRegistro(String whereCondition) 
	{

		RegistroChiamate registroChiamate;

		ManagerCallLogHandler managerCallLogHandler = new ManagerCallLogHandler(context);

		ArrayList<RegistroChiamate> listaChiamate = managerCallLogHandler
				.aggiornaRegistroChiamate(whereCondition);

		Iterator<RegistroChiamate> iteratoreChiamate = listaChiamate.iterator();
		
		while (iteratoreChiamate.hasNext()) 
		{
			registroChiamate = (RegistroChiamate) iteratoreChiamate.next();

			databaseHandler.addRecord(RegistroChiamateTable.getName(),
					RegistroChiamateTable.createRecord(
							registroChiamate.getAnno(),
							registroChiamate.getMese(),
							registroChiamate.getGiorno(),
							registroChiamate.getGiornoSettimana(),
							registroChiamate.getOra(),
							registroChiamate.getTipo(),
							registroChiamate.getDurata(), "",
							registroChiamate.getNumeroTel()));
		}

	}

}
